package com.mdb.open.trade.domain.vo.trade;

/*
* Copyright (C), 2017-2019 澳发科技(MDB)
* FileName: TfRepaymentOrderService.java
* Author:   you.yichao
* Date:     2019-07-26
* History:
* <author>          <time>          <version>          <desc>
* you.yichao               2019-07-26          V1.00             代码生成器初始生成代码
* -----------------------------------------------------------
* 作者姓名           修改时间           版本号            描述
*/


import com.mdb.bc.api.data.DataObjectBase;
import com.mdb.open.common.enums.trade.status.RepaymentOrderStatusEnum;
import com.mdb.open.common.enums.trade.status.RepaymentOverdueStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* 类描述：
*  融资还款单表视图类
*
* @author you.yichao
* @date 2019-07-26
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="RepaymentOrderVo", description="融资还款单表Vo对象")
public class RepaymentOrderVo extends DataObjectBase {

    private static final long serialVersionUID = 1L;

    /**
    * 融资单号
    */
    @ApiModelProperty(value = "融资单号")
    private String applyOrderNo;

    /**
    * 还款单号
    */
    @ApiModelProperty(value = "还款单号")
    private String repaymentOrderNo;

    /**
    * 借据单号
    */
    @ApiModelProperty(value = "借据单号")
    private String loanContractNo;

    /**
    * 商户业务编号
    */
    @ApiModelProperty(value = "商户业务编号")
    private String businessNo;

    /**
    * 客户编码
    */
    @ApiModelProperty(value = "客户编码")
    private String customerCode;

    /**
    * 客户名称
    */
    @ApiModelProperty(value = "客户名称")
    private String customerName;

    /**
    * 商户编号
    */
    @ApiModelProperty(value = "商户编号")
    private String merchantNo;

    /**
    * 商户名称
    */
    @ApiModelProperty(value = "商户名称")
    private String merchantName;

    /**
    * 商户收款子账号
    */
    @ApiModelProperty(value = "商户收款子账号")
    private String receiveSubAcc;

    /**
    * 借据单签署日
    */
    @ApiModelProperty(value = "借据单签署日")
    private LocalDateTime loanDate;

    /**
    * 起息日
    */
    @ApiModelProperty(value = "起息日")
    private LocalDateTime valueDate;

    /**
    * 到期日
    */
    @ApiModelProperty(value = "到期日")
    private LocalDateTime expiryDate;

    /**
    * 利息总费率
    */
    @ApiModelProperty(value = "利息总费率")
    private BigDecimal totalRate;

    /**
    * 利息利差
    */
    @ApiModelProperty(value = "利息利差")
    private BigDecimal addRate;

    /**
    * 利息费率
    */
    @ApiModelProperty(value = "利息费率")
    private BigDecimal feeRate;

    /**
    * 逾期利率
    */
    @ApiModelProperty(value = "逾期利率")
    private BigDecimal overdueRate;

    /**
    * 融资期限 天为单位
    */
    @ApiModelProperty(value = "融资期限 天为单位")
    private Integer loanTerm;

    /**
    * 币种
    */
    @ApiModelProperty(value = "币种")
    private String ccy;

    /**
     * 批复金额
     */
    @ApiModelProperty(value = "批复金额")
    private BigDecimal approveAmount;

    /**
    * 实际贷款额度
    */
    @ApiModelProperty(value = "实际贷款额度")
    private BigDecimal loanAmount;

    /**
    * 预计利息
    */
    @ApiModelProperty(value = "预计利息")
    private BigDecimal interest;

    /**
    * 生效总额
    */
    @ApiModelProperty(value = "生效总额")
    private BigDecimal enableTotalAmount;

    /**
    * 生效利息
    */
    @ApiModelProperty(value = "生效利息")
    private BigDecimal enableInterest;

    /**
    * 生效本金罚息
    */
    @ApiModelProperty(value = "生效本金罚息")
    private BigDecimal enablePrinPenalty;

    /**
    * 生效利息罚息
    */
    @ApiModelProperty(value = "生效利息罚息")
    private BigDecimal enableInterPenalty;

    /**
     * 生效罚息
     */
    @ApiModelProperty(value = "生效罚息")
    private BigDecimal enablePenalty;

    /**
    * 待还总额
    */
    @ApiModelProperty(value = "待还总额")
    private BigDecimal waitPayTotalAmount;

    /**
    * 待还本金
    */
    @ApiModelProperty(value = "待还本金")
    private BigDecimal waitPrincipal;

    /**
    * 待还利息
    */
    @ApiModelProperty(value = "待还利息")
    private BigDecimal waitInterest;

    /**
    * 待还本金罚息
    */
    @ApiModelProperty(value = "待还本金罚息")
    private BigDecimal waitPrinPenalty;

    /**
    * 待还利息罚息
    */
    @ApiModelProperty(value = "待还利息罚息")
    private BigDecimal waitInterPenalty;

    /**
     * 待还罚息
     */
    @ApiModelProperty(value = "待还罚息")
    private BigDecimal waitPenalty;

    /**
    * 已还总额
    */
    @ApiModelProperty(value = "已还总额")
    private BigDecimal paidTotalAmount;

    /**
    * 已还利息
    */
    @ApiModelProperty(value = "已还利息")
    private BigDecimal paidInterest;

    /**
    * 已还本金
    */
    @ApiModelProperty(value = "已还本金")
    private BigDecimal paidPrincipal;

    /**
    * 已还本金罚息
    */
    @ApiModelProperty(value = "已还本金罚息")
    private BigDecimal paidPrinPenalty;

    /**
    * 已还利息罚息
    */
    @ApiModelProperty(value = "已还利息罚息")
    private BigDecimal paidInterPenalty;

    /**
     * 已还罚息
     */
    @ApiModelProperty(value = "已还罚息")
    private BigDecimal paidPenalty;

    /**
    * 逾期天数
    */
    @ApiModelProperty(value = "逾期天数")
    private Integer overdueDays;

    /**
    * 逾期状态
    */
    @ApiModelProperty(value = "逾期状态")
    private RepaymentOverdueStatusEnum overdueStatus;

    /**
    * 状态
    */
    @ApiModelProperty(value = "状态")
    private RepaymentOrderStatusEnum repaymentStatus;

    /**
    * 创建时间
    */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
    * 更新时间
    */
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

}
